﻿namespace Ruirun.Mes.Dtos
{
    [MapTo(typeof(MaterialOutStorage))]
    public class MaterialOutStorageInputDto : IInputDto<Guid>
    {
        public Guid Id { get; set; }

        ///// <summary>
        ///// 库位Id
        ///// </summary>
        //public Guid WareHouseAreaPosId { get; set; }

        ///// <summary>
        ///// IPN Id
        ///// </summary>
        //public Guid IPNId { get; set; }

        /// <summary>
        /// 仓库物料Id
        /// </summary>
        public Guid MaterialId { get; set; }

        /// <summary>
        /// 领用数量
        /// </summary>
        public decimal Num { get; set; }

        /// <summary>
        /// 用途
        /// </summary>
        public string UseTarget { get; set; }

        /// <summary>
        /// 领用项目
        /// </summary>
        public int Project { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 出库申请状态
        /// </summary>
        public OutStorgeStatus Status { get; set; }

        /// <summary>
        /// 获取或设置 创建者编号
        /// </summary>
        [DisplayName("创建者编号")]
        public long? CreatorId { get; set; }

        /// <summary>
        /// 获取或设置 创建时间
        /// </summary>
        [DisplayName("创建时间")]
        public DateTime CreatedTime { get; set; }

    }

    [MapFrom(typeof(MaterialOutStorage))]
    public class MaterialOutStorageOutputDto : IOutputDto
    {
        public Guid Id { get; set; }

        /// <summary>
        /// 仓库物料Id
        /// </summary>
        public Guid MaterialId { get; set; }

        /// <summary>
        /// 领用数量
        /// </summary>
        public decimal Num { get; set; }

        /// <summary>
        /// 用途
        /// </summary>
        public string UseTarget { get; set; }

        /// <summary>
        /// 领用项目
        /// </summary>
        public int Project { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 出库申请状态
        /// </summary>
        public OutStorgeStatus Status { get; set; }

        /// <summary>
        /// 获取或设置 创建者编号
        /// </summary>
        [DisplayName("创建者编号")]
        public long? CreatorId { get; set; }

        /// <summary>
        /// 获取或设置 创建时间
        /// </summary>
        [DisplayName("创建时间")]
        public DateTime CreatedTime { get; set; }

        public Guid IPNId { get; set; }

        public string IPNNo { get; set; }

        public string IPNName { get; set; }

        public string IPNDescription { get; set; }

        public int IPNUnit { get; set; }

        public Guid WareHouseAreaPosId { get; set; }

        public string WareHouseName { get; set; }

        public string WareHouseAreaName { get; set; }

        public string WareHouseAreaPosName { get; set; }

    }
}
